package com.bjsasc.open.util;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/** 
 * @ClassName: DateUtils 
 * @Description: 日期格式转换
 * @author zhangbingbing 
 * @date 2024年3月28日 上午10:43:44 
 * @version 1.0 
 */
public class DateUtils {
	
	public static String formatDate(Date date, String format) {
		if (format == null)
			format = "yyyy-MM-dd HH:mm:ss";
		SimpleDateFormat sdf = new SimpleDateFormat(format);
		return sdf.format(date);
	}
	
    /**
     * @author zbb
     * @date 2024年4月12日 上午10:28:00
     * @param n       前n天
     * @param format
     * @return
     * 
     */    
    public static String  getPreviousDayTimeStr(int n,String format) {
    	String result = null;
    	try {
    		if (format == null)
    			format = "yyyyMMdd";
    		
            Calendar calendar = Calendar.getInstance();      //得到日历
            calendar.setTime(new Date());                    //获得当前时间的日历
            calendar.add(Calendar.DATE, -n);                 //设置为前一天
            
            calendar.set(Calendar.HOUR_OF_DAY, 0);
            calendar.set(Calendar.MINUTE, 0);
            calendar.set(Calendar.SECOND, 0);
            calendar.set(Calendar.MILLISECOND, 0);        
            
            SimpleDateFormat sdf = new SimpleDateFormat(format); //设置时间格式
            result = sdf.format(calendar.getTime());       //格式化前n天
    		
    	} catch(Exception ex) {
    		ex.toString();
    	}
        
    	return result;
    }	
	
	public static void main(String[] args) {
		System.out.println("日期为:" + DateUtils.formatDate(new Date(),"yyyyMMdd"));
		
		System.out.println("前n天的日期为:" + DateUtils.getPreviousDayTimeStr(7,"yyyyMMdd"));//前n天的日期为:20240405
	}

}
